package com.etl.process.plugin.rules.factory;

import com.etl.process.plugin.rules.container.RulesBean;
import com.etl.process.plugin.rules.container.RulesContainer;
import com.etl.process.plugin.utils.RulesEnginLoad;

/**
 * 规则引擎加载中心
 */
public class RulesEnginFactory {


    //加载规则引擎
    public static void loadRuleEngin(String ruleEnginName){
        /**
         * 先去加载规则引擎 给 jvm
         * 返回一个class
         * 通过class new 一个 对象
         */
        Class aClass = RulesEnginLoad.loadJvm(ruleEnginName);

        RulesBean rulesBean = new RulesBean();
        /**
         * 全部加载到对象 用反射会去到 然后加载到这个rulesbean当中
         * 规则引擎加载的 class
         * 规则引擎加载的 实例化对象
         * 规则引擎加载的 入参
         * 规则引擎加载的 返回值  二选一 java.long.String,  Class
         */

        /**
         * 工厂加载完
         */
        RulesContainer.put(ruleEnginName,rulesBean);

    }
}
